package com.iwomy.secureplat.platform.service;

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.iwomy.secureplat.common.data.datascope.DataScope;
import com.iwomy.secureplat.common.core.util.R;
import com.iwomy.secureplat.platform.dto.BasicInstallLocationDTO;
import com.iwomy.secureplat.platform.entity.BasicInstallLocationEntity;
import com.iwomy.secureplat.platform.vo.BasicInstallLocationVO;

import java.util.List;

public interface BasicInstallLocationService extends IService<BasicInstallLocationEntity> {

	Page<BasicInstallLocationVO> getBasicInstallLocationPage(Page page, BasicInstallLocationDTO basicInstallLocationDTO);

	BasicInstallLocationVO getByIds(Long id);

	Page<BasicInstallLocationVO> getAlarmInstallList(Page page, Long id);

	Page<BasicInstallLocationVO> getFloorInstallList(Page page, Long id);

	BasicInstallLocationVO getScreen();

	R newlyAdded(BasicInstallLocationEntity basicInstallLocation);

    List<BasicInstallLocationEntity> listByScope(LambdaQueryWrapper<BasicInstallLocationEntity> queryWrapper, DataScope dataScope);

    R newlyRemoveById(BasicInstallLocationDTO basicInstallLocationDTO);

    R replaceImei(BasicInstallLocationDTO basicInstallLocationDTO);

	R newlySaveBatch(BasicInstallLocationDTO basicInstallLocation);

	BasicInstallLocationVO getInstallLocation(Long id);
}